package org.jeecg.modules.home.monitoring.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * 月月鸟
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="首页监控对象", description="首页监控对象")
public class MonitoringStation {
    private static final long serialVersionUID = 1L;
    /**网点主键*/
    @ApiModelProperty(value = "网点主键")
    private java.lang.String stationId;
    /**网点编号*/
    @ApiModelProperty(value = "网点编号")
    private java.lang.String stationCode;
    /**网点名称*/
    @ApiModelProperty(value = "网点名称")
    private java.lang.String stationName;
    /**网点车桩数量*/
    @ApiModelProperty(value = "网点车桩数量")
    private int pileCount;
    /**网点地址*/
    @ApiModelProperty(value = "网点地址")
    private java.lang.String address;
    /**经度*/
    @ApiModelProperty(value = "经度")
    private java.lang.String longitude;
    /**纬度*/
    @ApiModelProperty(value = "纬度")
    private java.lang.String latitude;

    /**在桩车辆数/桩数*/
    @ApiModelProperty(value = "在桩车辆数/车桩数")
    private java.lang.String pileBikeCount;
    /**在桩车辆数/桩数 百分比*/
    @ApiModelProperty(value = "在桩车辆数/车桩数 百分比")
    private double pileBikePercent;
    /**在桩车辆数/桩数 百分比 入参起*/
    @ApiModelProperty(value = "在桩车辆数/车桩数 百分比 入参起")
    private java.lang.String pileBikePercentStart;
    /**在桩车辆数/桩数 百分比 入参止*/
    @ApiModelProperty(value = "在桩车辆数/车桩数 百分比 入参止")
    private java.lang.String pileBikePercentEnd;
    /**网点低电压阈值*/
    @ApiModelProperty(value = "电压")
    private java.lang.Double voltage;
    /**湿度*/
    @Excel(name = "湿度", width = 15)
    @ApiModelProperty(value = "湿度")
    private java.lang.Double humidity;
    /**车桩异常数量*/
    @ApiModelProperty(value = "异常")
    private int errCount;
    // TODO: 2021/10/11 缺温度
    /**网点温度*/
    @ApiModelProperty(value = "温度")
    private java.lang.Double temperature;
    /**跳包时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "跳包时间")
    private Date heartTime;
    //-------网点状态------
    /**是否锁定(默认否)*/
    @ApiModelProperty(value = "是否常闭(默认否)")
    private java.lang.String isLock;
    /**网点是否有车 0 无  1 有*/
    @ApiModelProperty(value = "网点是否有车 0 无  1 有")
    private java.lang.String isStationVehicle;
    /**网点是否断线 0 否  1 是*/
    // TODO: 2021/10/11 根据跳包更新时间判断
    @ApiModelProperty(value = "网点是否断线 0 否  1 是")
    private java.lang.String isOffline;
    /**是否故障 0 否  1 是*/
    // TODO: 2021/10/11 获取源 车桩故障
    @ApiModelProperty(value = "是否故障 0 否  1 是")
    private java.lang.String isStationErr;
    //报警状态
    /**异常状态 1 有车 2无车 3常闭 4断线 5故障 6报警 7电量不足*/
    @ApiModelProperty(value = "异常状态 1 有车 2无车 3常闭 4断线 5故障 6报警 7电量不足")
    private java.lang.String abnormal;
    //报警状态
    /**警告网点停车总数报警上限 0 否  1 是*/
    @ApiModelProperty(value = "警告网点停车总数报警上限 0 否  1 是")
    private java.lang.String warnStopUp;
    /**警告网点停车总数报警下限 0 否  1 是*/
    @ApiModelProperty(value = "警告网点停车总数报警下限 0 否  1 是")
    private java.lang.String warnStopDown;
    /**车桩故障总数报警上限 0 否  1 是*/
    @ApiModelProperty(value = "车桩故障总数报警上限 0 否  1 是")
    private java.lang.String warnErrUp;
    /**温度报警上限 0 否  1 是*/
    @ApiModelProperty(value = "温度报警上限 0 否  1 是")
    private java.lang.String warnTemperatureUp;
    /**电压报警上限 0 否  1 是*/
    @ApiModelProperty(value = "电压报警上限 0 否  1 是")
    private java.lang.String warnVoltageUp;

    /**电压报警上限 0 否  1 是*/
    @ApiModelProperty(value = "电压报警上限 0 否  1 是")
    private java.lang.String warnHumidityUp;

    /**区域搜索条件*/
    @ApiModelProperty(value = "区域搜索条件")
    private java.lang.String areaIds;
    /**区域数组*/
    @ApiModelProperty(value = "权限区域集合")
    private List<String> areaUserArrayIds;
    /**区域数组*/
    @ApiModelProperty(value = "查询区域集合")
    private List<String> areaArrayIds;
    /**网点跳包状态*/
    @ApiModelProperty(value = "网点跳包状态")
    private java.lang.String stationHeartStatus;
}
